﻿Imports System

Namespace System.Workflow.Activities.Rules
    Friend Class CharLiteral
        Inherits Literal
        ' Methods
        Friend Sub New(ByVal literalValue As Char)
            Me.m_value = literalValue
            MyBase.m_type = GetType(Char)
        End Sub

        Friend Overrides Function Equal(ByVal rhs As Byte) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As Char) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As Decimal) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As Double) As Boolean
            Return (CDbl(Me.m_value) = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As Short) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As Integer) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As Long) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As [SByte]) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As Single) As Boolean
            Return (CSng(Me.m_value) = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As UInt16) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As UInt32) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As UInt64) As Boolean
            Return (Me.m_value = rhs)
        End Function

        Friend Overrides Function Equal(ByVal rhs As Literal) As Boolean
            Return rhs.Equal(Me.m_value)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Byte) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Char) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Decimal) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Double) As Boolean
            Return (CDbl(Me.m_value) > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Short) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Integer) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Long) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As [SByte]) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Single) As Boolean
            Return (CSng(Me.m_value) > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As UInt16) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As UInt32) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As UInt64) As Boolean
            Return (Me.m_value > rhs)
        End Function

        Friend Overrides Function GreaterThan(ByVal rhs As Literal) As Boolean
            Return rhs.LessThan(Me.m_value)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Byte) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Char) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Decimal) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Double) As Boolean
            Return (CDbl(Me.m_value) >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Short) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Integer) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Long) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As [SByte]) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Single) As Boolean
            Return (CSng(Me.m_value) >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As UInt16) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As UInt32) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As UInt64) As Boolean
            Return (Me.m_value >= rhs)
        End Function

        Friend Overrides Function GreaterThanOrEqual(ByVal rhs As Literal) As Boolean
            Return rhs.LessThanOrEqual(Me.m_value)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Byte) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Char) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Decimal) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Double) As Boolean
            Return (CDbl(Me.m_value) < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Short) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Integer) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Long) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As [SByte]) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Single) As Boolean
            Return (CSng(Me.m_value) < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As UInt16) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As UInt32) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As UInt64) As Boolean
            Return (Me.m_value < rhs)
        End Function

        Friend Overrides Function LessThan(ByVal rhs As Literal) As Boolean
            Return rhs.GreaterThan(Me.m_value)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Byte) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Char) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Decimal) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Double) As Boolean
            Return (CDbl(Me.m_value) <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Short) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Integer) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Long) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As [SByte]) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Single) As Boolean
            Return (CSng(Me.m_value) <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As UInt16) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As UInt32) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As UInt64) As Boolean
            Return (Me.m_value <= rhs)
        End Function

        Friend Overrides Function LessThanOrEqual(ByVal rhs As Literal) As Boolean
            Return rhs.GreaterThanOrEqual(Me.m_value)
        End Function


        ' Properties
        Friend Overrides ReadOnly Property Value As Object
            Get
                Return Me.m_value
            End Get
        End Property


        ' Fields
        Private m_value As Char
    End Class
End Namespace

